/*
 * @Author: your name
 * @Date: 2021-08-02 12:08:10
 * @LastEditTime: 2021-08-28 20:19:14
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \vue-admin-template\src\store\index.js
 */
import Vue from 'vue'
import Vuex from 'vuex'

// 导入提取 getters 模块
import getters from './getters'
// 导入拆分的模块化组件
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'

import permission from './modules/permission'

// 将 vuex 挂载为 vue 的插件
Vue.use(Vuex)

// 对 vuex 进行实例化
const store = new Vuex.Store({
  // 核心的方法
  modules: {
    app,
    settings,
    user,
    permission
  },
  // 为什么需要将模块中的 state 都提取成 getters
  // 就是为了方便在组件中进行数据的使用
  // this.$store.state.app.userInfo
  getters
})

export default store
